NSF ripper Guide Level 1


Level 0   Level 1   Level 2   Level 3   Level 4  

Level 5   Level 6   Level 7   Level 8   Level 9  

Level 10   Level 11   Level 12   Level 13   Level 14


LEVEL1 CAPCOM(1943)

When you read the NES Music Ripping Guide you will understand that many games have the load/play/init addresses set at
8000/8003/8000.1943 is one of these games and is simplicity in itself. What your going to do is take a 16KB bank from
the rom. This bank should be 16,384 bytes. Bank 005 should be the right bank with the music data.

Attach the header to the 16KB bank that you ripped and then set the 8000(load)/8003(init)/8000(play) addresses in the
header respectively. 01 is the starting track where you hear music.

And now this makes you a Level 1 NSF ripper.
With this level out of the way be prepared to advance in difficulty and a sense of acomplishment.


Let's discuss bank sizes for a moment. This is important to learn as you will learn that NES games load different size
banks into memory. What is loaded is the PRG(Program ROM) banks into memory. Depending on the mapper the banksize select
can be different. Mapper 0 is not actually a mapper, this is the standard 32K PRG that is loaded into memory at addresses
$8000 - $FFFF, there is also a mapper 0 16K version as well $C000 - $FFFF. You do have some mappers that are 32KB bank
size select and one mapper is mapper 7. The most common bank sized select is 16KB and usually that's mapper 1 or MMC1. And
you have 8KB banksized select which is many mappers,the most common mapper is mapper 4 or MMC3. And last but not least is
the NSF mapper. The banksize select of a NSF is 4KB.

Here is a table for the banksizes.


Now is the time to talk about using nes2nsf.The app is a program written by a Japanese guy and I've taken the time
to partially translate it. This utility is a very useful tool and is used to rip banks from the NES ROM. You can divide
the entire rom up in banks that you select in the program or you can choose an option that allows you to rip certain banks
from the rom. The split banks that are output from nes2nsf are numbered from 0 - nn(however many banks is in the rom
depending on the banksize). You can set an option in the program that will only rip certain banks based on the sound enable
register 4015. If you have a write to that sound register then you will get only those banks. Now for some specifics about
the program. You have a .ini file which is a config file for nes2nsf and I will show you how to set the bits of the program
on this .ini file.

1000100000000000

This is the default setting of the program and as you can see there is 16 bits here and I give you a brief explanation of
what you need to use right now.


So you use nes2nsf for the game 1943 with the default setting enabled in the .ini file and nes2nsf will output bank # 05
which is the right bank with the music data. The header will also be prepended if you left the settings the same. So you
can load the NSF in your player and WOW it works and plays. The beginning track is #1 and you need to count the tracks in
the NSF and set the bit in the header to reflect this. You use the hexadecimal number system so you set the byte in the
header with a hex editor. Look back at Level 0 and you will see the header and so you look at the data there and figure
out what offset to change the ending tune at and I will tell you the first time. 06h and the "h" stands for offset. Dont
even try to submit this NSF, It's already been ripped. :)